); } } } returnMin[len-1]; }}2, in turn, starting at the end, indicating the minimum amount of blood required for the current position to the end Public classSolution { Public intCALCULATEMINIMUMHP (int[] Dungeon) { if(Dungeon.length = = 1 dungeon[0].length = 1){ if(Dungeon[0][0] > 0){ return1; } Else {
/bottom of the required magic, then there is no need for additional magic, otherwise, the warrior will arrive at the place need to have some magic to meet the needs of the right/bottom and the magic."Java Code"public class Solution {public int calculateminimumhp (int[][] dungeon) {int m = dungeon.length; int n = dungeon[0].length; int[][] ans =
optimal is not guaranteed to be the global optimal when the former is updated.AC Java:1 Public classSolution {2 Public intCALCULATEMINIMUMHP (int[] Dungeon) {3 if(Dungeon = =NULL|| Dungeon.length = = 0 | | Dungeon[0].length = = 0){4 return0;5 }6 intm =dungeon.length;7 intn =
define dp[][] to represent the minimum health required from (I,J) to the end point (m-1,n-1), then the recursive equation is dp[i][j] = max (min (dp[i][j+1], dp[i+1][j])-dungeon[i ][J], 0), if dungeon[i][j] is positive, subtract a positive number, and the initial required health is reduced. The same can be understood dungeon[i][j] is a negative case. and 0 Maxim
/** 174. Dungeon Game * 12.30 by Mingyang * Dp[i][j] means the minimum HP required to ensure Knight does not die after entering this lattice. * Dp[i][j] is the minimum health value before he enters (I,J). * If the value of a lattice is negative, then the minimum HP required before entering this lattice is-dungeon[i][j] + 1. If the value of the lattice
Leetcode: Dungeon Game, leetcodedungeon
The demons had captured the princess (P) and imprisoned her in the bottom-right corner of a dungeon. The dungeon consists of M x N rooms laid out in a 2D grid. Our valiant knight (K) was initially positioned in the top-left room and must fight his way through the
, such as test instructions to the 3x3 table, first observe the following several numbers
-10
1
30
-5
At 5 at the beginning of at least 5, to arrive from 1 to need 5-1=4, from 30 to reach the need to 5-30=-25, that you do not need to carry anything to reach the end, that is 0, in turn, in 10 except, 10 right is 4, the bottom is 0,(-10) = 14, which means you need to take 14 to the right, while the downward need 0-(-10) = 10, obvious
)
Notes:
The Knight ' s Health has no upper bound.
Any hostel can contain threats or power-ups, even the first, the knight enters and the Bottom-right, where the Princ ESS is imprisoned.
Classic DP problem, take the map, ensure that each school is greater than or equal to 1DP[I][J] = max (1, Min (dp[i][j+1], dp[i+1][j]) + dungeon[i][j])public class Solution {public int calculateminimumhp (int[][]
)
Notes:
The Knight ' s Health has no upper bound.
Any hostel can contain threats or power-ups, even the first, the knight enters and the Bottom-right, where the Princ ESS is imprisoned. Public classSolution { Public intCALCULATEMINIMUMHP (int[] Dungeon) { /*DP thought, and it was from the right down to the top left, and walked backwards. The meaning of dp[i][j] is the minimum health required to i,j points, note that t
Leetcode 174: Dungeon Game, leetcodedungeon.Dungeon GameTotal Accepted:332Total Submissions:2130
The demons had captured the princess (P) And imprisoned her in the bottom-right corner of a dungeon. The dungeon consists of M x N rooms laid out in a 2D grid. Our valiant knight (K) Was initially positioned in the top-lef
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.